資料原本大概長這樣:
日期的部分整數
時間的部分是三到六位數不等
我們要做的第一件事情就是幫時間裡面的"小時"補零,方便之後做計算,最主要就是這個部分吧,要怎樣幫數據補零,在R語言裡面有一個str_pad可以直接補零,我最近才知道可以這樣用的,要不然我都是先看nchar字串裡面有幾個數字,如果沒有滿我才paste0("0",string)
官方定義就是
str_pad(string, width, side = c("left", "right", "both"), pad = " ")
日期的話就是把左邊用0補齊6個數字啦!(預設就是補左邊也不用填這個參數
str_pad(string, width = 6, pad = 0)
x1 = paste0(substring(string,1, 2),':', substring(string,3, 4),':', substring(string,5, 6))
再來就是把時:分:秒,分開,兩個字與兩個字之間插入:
檢查了資料型態發現日期是指2019-1-1開始算,所以2就是2019-1-1+1 -> 2019-1-2
t1 = as.Date('2019-01-01')
t2 = t1+traindata$locdt
t3 = paste(t2,x1)
t3 = as.numeric(as.POSIXlt(t3))
完成.